package org.tema.ejb;

import java.sql.Date;
import java.util.Collection;

import org.tema.Priority;
import org.tema.Status;
import org.tema.Type;
import org.tema.entities.TestCase;

public interface TestCaseBeanLocal {
	 
	public TestCase  updateTestCase(TestCase testCase, int bugId, String modifierName);
	public TestCase undoTestCaseChanges(TestCase testCase);
	public void deleteTestCase(TestCase testCase);
	public Collection <TestCase> findAllTestCases();
	//search methods
	public TestCase findTestCaseById( int id );
	public TestCase findTestCaseBySummary( String summary );
	public Collection <TestCase> findTestCasesBySummary( String summary );
	public  Collection <TestCase> findTestCaseByType( Type type );
	public  Collection <TestCase> findTestCaseByPriority( Priority p );
	public  Collection <TestCase> findTestCaseByStatus( Status s );
	public Collection <TestCase> findTestCaseByCreatorId( int cId );
	public Collection <TestCase> findTestCaseByCreatorName( String cName );
	public Collection <TestCase> findTestCaseByModifierName( String mName );
	public Collection  <TestCase> findTestCaseByCDate( Date cDate );
	public Collection <TestCase> findTestCaseByMDate( Date mDate );
	public Collection <TestCase > findTestCaseByProductName( String productName );
	public Collection <TestCase > findTestCaseBySpecSummary( String s );
	public Collection <TestCase > findTestCaseByTestPlan( String s );
	public TestCase addTestCase( int bugId, String testSpecification, Type testType, Status testStatus, Priority testPriority, String summary, String environment, String preSteps, String description, String expectedResult, Date creationD, Date modificationD,double executionTime, String modifierName);
	public TestCase addTestCase(  Priority testPriority, String summary, String env,  String pSteps, String description,  String expectedRes, int bugId, Type testType, Status testStatus,  Date cDate, Date mDate, String modifierName );
}
